www.gusucode.com > VC++ 仿SQLServer企业管理器的SQL客户端工具-源码程序 > VC++ 仿SQLServer企业管理器的SQL客户端工具-源码程序/code/ImpDlg.cpp

    //Download by http://www.NewXing.com
// ImpDlg.cpp : implementation file
//

#include "stdafx.h"
#include "frontTool.h"
#include "ftDB.h"
#include "eiTab.h"
#include "ImpDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

BOOL IsInputedContent(CWnd* pW,int iID,LPCSTR szTitle);

/////////////////////////////////////////////////////////////////////////////
// CImpDlg dialog


CImpDlg::CImpDlg(CFTDB *pDB)
	: CDialog(CImpDlg::IDD, NULL)
{
	//{{AFX_DATA_INIT(CImpDlg)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
	m_pDB=pDB;
}

BOOL CImpDlg::CreateWnd(CWnd* pParent,CRect rcC)
{
	BOOL f=CDialog::Create(CImpDlg::IDD,pParent);
	MoveWindow(rcC);
	ShowWindow(SW_SHOW);
	return f;
}

void CImpDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CImpDlg)
		// NOTE: the ClassWizard will add DDX and DDV calls here
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CImpDlg, CDialog)
	//{{AFX_MSG_MAP(CImpDlg)
	ON_BN_CLICKED(IDC_IMP_BTN, OnImpBtn)
	ON_BN_CLICKED(IDC_ANA_HDR_FILE, OnAnaHdrFile)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CImpDlg message handlers

void CImpDlg::OnImpBtn() 
{
	if(!IsInputedContent(this,IDC_IMP_FILE_NAME,"文件名"))
		return ;
	if(!IsInputedContent(this,IDC_IMP_SQL,"SQL语句"))
		return ;
	if(!IsInputedContent(this,IDC_IMP_COL,"列数"))
		return ;
	if(!IsInputedContent(this,IDC_IMP_COL,"行数"))
		return ;

	CString szSQL,szFN,szCol,szRow;
	GetDlgItemText(IDC_IMP_SQL,szSQL);
	GetDlgItemText(IDC_IMP_FILE_NAME,szFN);
	GetDlgItemText(IDC_IMP_ROW,szRow);
	GetDlgItemText(IDC_IMP_COL,szCol);

	int iCol=atoi(szCol);
	int iRow=atoi(szRow);

	CImpTab it(m_pDB);
	it.ImportTab(szSQL,szFN,iCol,iRow);
}

void CImpDlg::OnAnaHdrFile() 
{
	if(!IsInputedContent(this,IDC_IMP_FILE_NAME,"文件名"))
		return ;
	CString szFN;
	GetDlgItemText(IDC_IMP_FILE_NAME,szFN);
	szFN+=".hdr";
	CString szSQL;
	int iCol,iRow;
	if(CImpTab::AnalyHeader(szFN,iCol,iRow,szSQL))
	{
		SetDlgItemText(IDC_IMP_SQL,szSQL);
		SetDlgItemInt(IDC_IMP_COL,iCol);
		SetDlgItemInt(IDC_IMP_ROW,iRow);
	}
}